/*
 * Copyright 2006-2023 ahtelit.com, All Rights Reserved.
 */

package com.telit.firecommand.service;

import com.telit.common.entity.PageData;
import com.telit.firecommand.dto.DistrictCountDTO;
import com.telit.firecommand.dto.SysEquipStationDTO;

import java.util.List;


/**
 * EquipStationService
 *
 * @author yuezhuang
 * @since 2023-03-31
 */
public interface EquipStationService {

    /**
     * 查询数量
     *
     * @param districtCode 行政区划编码
     * @param type         监测站类型（1:气象站，2:水文站）
     * @param status       状态：1-在线 0-离线
     * @param name         名称
     *
     * @return DistrictCountDTO
     */
    DistrictCountDTO count(String districtCode, Integer type, Integer status, String name);

    /**
     * 树形结构
     *
     * @param districtCode 行政区划编码
     * @param type         监测站类型（1:气象站，2:水文站）
     * @param status       状态：1-在线 0-离线
     * @param name         名称
     *
     * @return DistrictCountDTO
     */
    DistrictCountDTO treeDistrict(String districtCode, Integer type, Integer status, String name);

    /**
     * 详情
     *
     * @param id id
     *
     * @return SysEquipStationDTO
     */
    SysEquipStationDTO info(Long id);

    /**
     * 拉取数据
     */
    void dealData();

    /**
     * 查询列表
     *
     * @param districtCode 行政区划编码
     * @param type         监测站类型（1:气象站，2:水文站）
     * @param status       状态：1-在线 0-离线
     * @param name         名称
     * @param current      当前页数
     * @param size         每页条数
     *
     * @return DistrictCountDTO
     */
    PageData<List<SysEquipStationDTO>> qryList(String districtCode, Integer type, Integer status, String name,
                                               Integer current, Integer size);

}
